#ifndef BODYPARTSOFT_H
#define BODYPARTSOFT_H

#include "bodypart.h"
#include "BulletSoftBody/btSoftRigidDynamicsWorld.h"
// #include "BulletSoftBody/btSoftBody.h"
#include "BulletSoftBody/btSoftBodyHelpers.h"

using namespace std;

class BodypartSoft : public Bodypart
{
	public:
// 		BodypartSoft(btDynamicsWorld* ownerWorld, void* owner, btCollisionShape* nshape, float weight, btTransform& transform, const Color& clr, bodypartShape sh);
		BodypartSoft(bodypartShape sh, const BeColor& clr, btDynamicsWorld* ownerWorld);
		~BodypartSoft();

		// OBJECTS ONLY RIGID HAS
		btSoftBody* 		body;
// 		btDefaultMotionState*	myMotionState;

// 		virtual void		draw();
// 		virtual void		draw( float dim );
// 		virtual void		drawShadow( const btVector3& sundir );
// 		virtual void		updatePosition();
		virtual void		copyPosition(); // for drawthread

		btAlignedObjectArray<btVector3>	drawbuffer;	// Task Chain

	protected:
		void generalSetup( btSoftBodyWorldInfo* btsoftbodyInfo, btVector3& localInertia, float weight, btTransform& transform, void* owner, float lin_damping, float ang_damping );
	
	private:
};
#endif
